/******************************************************
Cours:   LOG121
Session: A2013
Groupe:  
Projet: Laboratoire #3
etudiant(e)s: Simon Castro
			  Fredy Alexander 
			  Renaud Vincent
              
              
Professeur : 
Nom du fichier: CollectionDes.java
Date cree: 2013-10-20
Date dern. modif. 2013-11-01
*******************************************************
Historique des modifications
*******************************************************
2013-10-20 Version genere
2013-11-01 Implementation de la collection avec iterateur

*******************************************************/ 

package cadricielJeuDe;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * Une collection d'objet des. 
 * @author Renaud
 * @date 2013-11-01
 */
public class CollectionDes {

	
	private ArrayList<De> collectionDes;
    
    /*
     * Constructeur
     */
    public CollectionDes(){
    	this.collectionDes = new ArrayList<De>();
    	
    }
    
    /**
     * Methode ajoutant le de en parametre a la collection
     * @param de
     */
    public void ajouterDe(De de) {
    	collectionDes.add(de);
    }

    /**
     * Methode ajoutant un iterateur a la collection
     * @return l'iterateur
     */
    public Iterator<De> creerIterateur() {
    	return collectionDes.iterator();
    }
    
    /**
     * Methode brassant tout les des de la collection
     * @return un ArrayList d'entiers avec les valeurs de chaque de
     */
    public ArrayList<Integer> brasserLesDes() {
    	
    	ArrayList<Integer> tableauValeurs = new ArrayList<Integer>();
    	Iterator<De> iterateurDes = creerIterateur();
    	while(iterateurDes.hasNext()) {
    		tableauValeurs.add(iterateurDes.next().brasser());
    	}
    	
    	return tableauValeurs;
    }
    
    /**
     * Accesseur d'un de de la collection.
     * 
     * @param index
     * @return
     */
    public De getDe(int index){
    	return collectionDes.get(index);
    }

}